package com.alibaba.citrus.cr.order.open.api.facade.service.calculate;

import com.alibaba.citrus.cr.order.open.api.facade.common.model.WmsOutBoundMessage;
import com.alibaba.citrus.cr.order.open.api.facade.model.TransferOrder;
import com.alibaba.cloud.retail.wms.api.model.orders.common.WarehousingOrderDTO;

import java.util.List;

/**
 * @author yifei
 * @since 2024/1/19
 */
public abstract class TransferCalculateQuantityHandler {

    /**
     * 数量处理
     * @param warehousingOrderList 出入库单集合
     * @param wmsOutBoundMessage 出入库单消息
     * @param orderInfo 调拨单信息
     */
    public abstract void handle(List<WarehousingOrderDTO> warehousingOrderList, WmsOutBoundMessage wmsOutBoundMessage, TransferOrder orderInfo);

    /**
     * 调拨单类型
     */
    public abstract String getTransferType(String transferType);
}
